'''
Python Number 数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值，将重新分配内存空间。

'''


'''
Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。

Python math 模块提供了许多对浮点数的数学运算函数。

Python cmath 模块包含了一些用于复数运算的函数。

cmath 模块的函数跟 math 模块函数基本一致，区别是 cmath 模块运算的是复数，math 模块运算的是数学运算
int(x [,base ])         将x转换为一个整数  
long(x [,base ])        将x转换为一个长整数  
float(x )               将x转换到一个浮点数  
complex(real [,imag ])  创建一个复数  
str(x )                 将对象 x 转换为字符串  
repr(x )                将对象 x 转换为表达式字符串  
eval(str )              用来计算在字符串中的有效Python表达式,并返回一个对象  
tuple(s )               将序列 s 转换为一个元组  
list(s )                将序列 s 转换为一个列表  
chr(x )                 将一个整数转换为一个字符  
unichr(x )              将一个整数转换为Unicode字符  
ord(x )                 将一个字符转换为它的整数值  
hex(x )                 将一个整数转换为一个十六进制字符串  
oct(x )                 将一个整数转换为一个八进制字符串 
'''

print ("-------------------------number---------------------" )
import cmath
import math

print(cmath.sqrt(-1))   #1j
print(cmath.log10(100)) #(2+0j)
print(math.sqrt(1))   #1.0
print(math.log10(100)) # 2.0

print ("-------------------------随机数---------------------" )
import random

# random.choice(range(10))，从0到9中随机挑选一个整数。
print("从序列的元素中随机挑选一个元素",random.choice(range(2)))






'''
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来，
自始至终保持一小块字符串的格式是所谓的WYSIWYG（所见即所得）格式的。


字符串使用函数 https://www.runoob.com/python/python-strings.html

'''
print ("-------------------------字符串---------------------" )

a = "Hello"
b = "Python"
 
print ("a + b 输出结果：", a + b )
print ("a * 2 输出结果：", a * 2 )
print ("a[1] 输出结果：", a[1] )
print ("a[1:4] 输出结果：", a[1:4] )
 
if( "H" in a) :
    print ("H 在变量 a 中" )
else :
    print ("H 不在变量 a 中" )
 
if( "M" not in a) :
    print ("M 不在变量 a 中" )
else :
    print ("M 在变量 a 中")
 
print (r'\n')
print( R'\n')





'''
https://www.runoob.com/python/python-lists.html

'''
print ("-------------------------列表(List)---------------------" )

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])


list = []          ## 空列表
list.append('Google')   ## 使用 append() 添加元素
list.append('Runoob')
list.append('Fish')
print ("新增元素 append()",list)
del list[0]
print ("删除元素 del()",list)

print("返回列表中个个数en(list):",len(list))





'''

字典是另一种可变容器模型，且可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割，
每个键值对之间用逗号 , 分割，整个字典包括在花括号 {} 中 ,格式如下所示：

'''
print ("-------------------------字典(Dictionary)---------------------" )

tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])
tinydict['Age'] = 8 # 更新
tinydict['School'] = "RUNOOB" # 添加

print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])

print("dict.get(key,default=none)获取字典中的值：",tinydict.get("Age"))
print("str(dict) 输出字典可打印的字符串表示。",str(tinydict))
print("直接输出",tinydict)


del tinydict['Name']  # 删除键是'Name'的条目
tinydict.clear()      # 清空字典所有条目
del tinydict          # 删除字典